package FutSal.Test;

import java.util.ArrayList;
import org.junit.Before;
import org.junit.Test;
import FutSal.controladores.AdmClientes;
import FutSal.modelo.Clientes;

public class AdmClienteTest {
	AdmClientes clientes = new AdmClientes();
    private ArrayList<Clientes> listaClientes = new ArrayList<Clientes>();
    
@Before
public void cargarDBClientes() {
listaClientes = clientes.inicializarTablaCliente();
//System.out.println("aqui" + dbClientes);
  }

    @Test
    public void ingresaDatosCliente(){
        System.out.print("\n");
        System.out.println("Registrar datos de cliente nuevo y guardar en BD (txt)");
        int resultado = 1;
        String id = "001";
        String nombre = "Alexis";
        String apellidopaterno = "Rojas";
        String apellidomaterno = "Castro";
        String sexo = "masculino";
        String tipodocumento = "masculino";
        String nombredocumento = "10203099";    
        String email1 = "alfmen99@hotmail.com";
        String email2 = "alfmen99@hotmail.com";
        String clave1 = "0305";
        String clave2 = "0305";
        String fechaNac = "15/02/2009";
        String celular = "15/02/2009";
        String direccion = "15/02/2009";
        String distrito = "15/02/2009";
        String tipousuario = "15/02/2009";
        
        Clientes cliente = new Clientes(id, nombre, apellidopaterno, apellidomaterno, sexo, tipodocumento, nombredocumento, email1, email2, clave1, clave2, fechaNac, celular,
        direccion, distrito, tipousuario);
        assertEquals("Registro OK", resultado, clientes.ingresarCliente(cliente));
        System.out.println("   Alta de Cliente satisfactorio");
    }

    @Test
    public void noDebeRegistrarDatosEnBlanco(){
           System.out.print("\n");
           System.out.println("El cliente no debe ingresar sus datos en blanco");
           int resultado=0;
           String id = "001";
           String nombre = "Alexis";
           String apellidopaterno = "Rojas";
           String apellidomaterno = "Castro";
           String sexo = "masculino";
           String tipodocumento = "masculino";
           String nombredocumento = "10203099";    
           String email1 = "alfmen99@hotmail.com";
           String email2 = "alfmen99@hotmail.com";
           String clave1 = "0305";
           String clave2 = "0305";
           String fechaNac = "15/02/2009";
           String celular = "15/02/2009";
           String direccion = "15/02/2009";
           String distrito = "15/02/2009";
           String tipousuario = "15/02/2009";
           
           Clientes cliente = new Clientes(id, nombre, apellidopaterno, apellidomaterno, sexo, tipodocumento, nombredocumento, email1, email2, clave1, clave2, fechaNac, celular,
           direccion, distrito, tipousuario);
           assertEquals("Error", resultado, clientes.ingresarCliente(cliente));
           System.out.println("   El EMail no debe estar en blanco ");
           System.out.println("   La fecha de nacimiento no debe estar en blanco");
    }

    @Test
    public void noDebeExistirDuplicidadCliente(){
           System.out.print("\n");
           System.out.println("El cliente no debe ingresar DNI o EMail de otra persona en su registro");
           
           int resultado=0;
           String id = "001";
           String nombre = "Alexis";
           String apellidopaterno = "Rojas";
           String apellidomaterno = "Castro";
           String sexo = "masculino";
           String tipodocumento = "masculino";
           String nombredocumento = "10203099";    
           String email1 = "alfmen99@hotmail.com";
           String email2 = "alfmen99@hotmail.com";
           String clave1 = "0305";
           String clave2 = "0305";
           String fechaNac = "15/02/2009";
           String celular = "15/02/2009";
           String direccion = "15/02/2009";
           String distrito = "15/02/2009";
           String tipousuario = "15/02/2009";
           
           Clientes cliente = new Clientes(id, nombre, apellidopaterno, apellidomaterno, sexo, tipodocumento, nombredocumento, email1, email2, clave1, clave2, fechaNac, celular,
           direccion, distrito, tipousuario);
         assertEquals("Error", resultado, clientes.ingresarCliente(cliente) );
           System.out.println("   El DNI o EMail ya se encuentra previamente registrado");           
    }
    
    @Test
    public void debeRegistrarClave2veces(){
           System.out.print("\n");
           System.out.println("El cliente debe registrar 2 veces su clave para registrarse");
           
           boolean valida=true;
           String id = "001";
           String nombre = "Alexis";
           String apellidopaterno = "Rojas";
           String apellidomaterno = "Castro";
           String sexo = "masculino";
           String tipodocumento = "masculino";
           String nombredocumento = "10203099";    
           String email1 = "alfmen99@hotmail.com";
           String email2 = "alfmen99@hotmail.com";
           String clave1 = "0305";
           String clave2 = "0305";
           String fechaNac = "15/02/2009";
           String celular = "15/02/2009";
           String direccion = "15/02/2009";
           String distrito = "15/02/2009";
           String tipousuario = "15/02/2009";
           
           Clientes cliente = new Clientes(id, nombre, apellidopaterno, apellidomaterno, sexo, tipodocumento, nombredocumento, email1, email2, clave1, clave2, fechaNac, celular,
           direccion, distrito, tipousuario);
           assertFalse("Error", clientes.validaClaves2Veces(cliente, clave2));
           System.out.println("   Claves " + "(" + clave + ")" + "y (" + clave2 + ")" + " no coinciden en el alta del cliente");
    }

	public void setListaClientes(ArrayList<Clientes> listaClientes) {
		this.listaClientes = listaClientes;
	}

	public ArrayList<Clientes> getListaClientes() {
		return listaClientes;
	}


	
}
